1. Field of the Invention
The present invention generally relates to displaying objects and, in particular, to a system and method for determining the relative position of a plurality of objects in two-dimensional or three-dimensional space.
2. Related Art
Placement of objects on a display screen in a visually pleasing manner and based upon logical relationships is desirable. For example, in a virtual shopping mart accessible via the Internet, a visitor views product images and related information. Included with the product may be a textual description and/or a uniform resource locator (URL) that will change the display to a more detailed view and/or more detailed information of the product if selected by the visitor. It is very desirable to include images of multiple products on a single viewing page. Accordingly, a product line may be presented to a visitor such that the visitor may view and/or purchase related products of interest by placing an order.
Thus, the placement of a plurality objects on the display screen (company logos, product images, textual information, animations, URLs, etc.) is important for many reasons. For example, consider a virtual bookstore where a visitor purchase books. A visually pleasing presentation of objects may induce the visitor to purchase products and return to the site at a later time. Grouping related objects improves the efficiency of the shopping effort and allows the display of the products in a more logical manner (e.g.: displaying science fiction books together, and displaying mystery books together). Grouping related, but different products may induce the visitor to buy the related products (e.g.: books on coin collecting, magazines on coin prices and coin display cases). One skilled in the art will appreciate that the various strategies in grouping products in a virtual mart are limitless. Furthermore, a virtual mart is merely one non-limiting example where placement of objects on a viewing page is of interest.
Objects may be displayed on a viewing page in two-dimensional or three-dimensional space. Typically, similar objects are placed into spatial positions close to each other. The spatial separation of objects is a function of the relative degree of similarity between the objects. For example, two science fiction books may be very related (high degree of similarity), and would be placed in proximity to each other. Alternatively, a science fiction book and a mystery book may be, in some situations, unrelated objects (low degree of similarity) that are placed far away from each other, such as on different viewing pages.
Object positioning may be based upon similarities between the objects. Object placement may be effected on a manual, ad-hoc basis where an individual determines placement of the objects. However, such placement is time consuming and requires a high degree of concentration, particularly if there are many objects.
Another object placement technique employs numerically specified similarity between two objects using a number between 0 and 1. (Alternatively, object positioning may be based upon dissimilarities between the objects.) Thus, position of one object may be specified on the viewing page, and placement of related objects may be automated based upon defined similarities. For example, if a science fiction book is to be marketed by the virtual market, an image of the science fiction book may be selected for display. The position of the image of the science fiction book may be specified. Text describing the science fiction book, and/or a URL associated with the science fiction book and other objects, would have a high degree of similarity, and thus be automatically positioned nearby the image of the science fiction book. Conversely, the mystery book would have a low degree of similarity with the science fiction book, and accordingly, an image of the mystery book would be placed farther from the image of the science fiction book if the mystery book is displayed on the viewing page.
Some object placement applications employ ad-hoc mass-spring modeling methods. Springs coupling object pairs represent similarity between the objects, with a spring stiffness corresponding to the degree of similarity. Spring stiffness may be referred to as a constraint. Object mass also relates to relative similarity between objects. Once spring constants and object masses are specified, a mathematical model is developed, typically in the form of a matrix.
Placing an object on the viewing page, or repositioning an object on the viewing page, causes a repositioning of all of the objects in the viewing page in accordance with the mathematical mass-spring model. Accordingly, a light object coupled to the moved object with stiff spring (high degree of similarity) will move closely with the moved object. On the other hand, a heavy object coupled to the moved object with a weak spring (low degree of similarity) may move very little (if at all). Thus, the object masses and the springs between objects define the positioning of the objects relative to each other.
However, depending on the implementation of the object positioning model, various problems may be encountered.                1. Penetration and collision of similar data objects during visualization: Objects may be positioned so close, or even over each other, so as to not be visually pleasing to a viewer.        2. Visual cluttering and overlap for very large transaction datasets: Groups of objects may be clustered onto regions of the viewing screen, thereby leaving unused regions of the viewing screen.        3. Limitation of the degrees of freedom of an object by adding springs for the representation of object relations: Computational algorithms used to compute object positions in a mass-spring model may limit the number of related objects that a single object can be related to.        4. Mass spring setting is restricted with respect to the numerical solution strategies: The computational algorithm used to compute object positions may place numerical limitations on the permissible values of spring constants and masses.        5. Sensitivity of the layout against initialization: Computational limitations create a vulnerability to local minimum configurations.        
Thus, a heretofore unaddressed need exists in the industry for providing a system and method of enabling placement of objets on a display area in a quick, efficient and effective manner.